【小ネタ】Officeが入ってないLinuxなどのマシンでPowerPointファイルをスライド一枚ずつJPEGファイルに変換する方法
2024.03.12
こんちには。
データアナリティクス事業本部 機械学習チームの中村(nokomoro3)です。
Officeが入ってないLinuxなどのマシンでPowerPointファイルをスライド一枚ずつJPEGファイルに変換する方法を紹介します。
手順
以下の手順で行います。
- pptxファイルをpdfファイルに変換
- LibreOfficeを使いました
- 実はLibreOfficeであればpptファイルをpptxにすることも可能です(便利!)
- pdfファイルの各ページをJPEGファイルに変換
- Pythonでpdf2imageを使いました
動作環境
WSL(Ubuntu-20.04 LTS)で行います。
環境準備
環境準備は以下を実行すればOKです。
# pptxをpdfに変換するlibreofficeをインストール sudo apt install libreoffice # 日本語フォルトをインストール(※重要) sudo apt install -y fonts-ipafont # フォントを反映(※重要) fc-cache -fv # pdf2imageに必要なので sudo apt install -y poppler-utils # Pythonのライブラリをインストール pip3 install pdf2image
特にフォントの部分は重要で、こちらを実施しないとpdf変換の時点で文字化けが発生します。
やってみる
まずはsample.pptx
を準備します。今回は以下の元になったpptxファイルを使用します。
sample.pptx
を以下でsample.pdf
に変換します。
# pptxをpdfに変換 libreoffice --headless --convert-to pdf ./sample.pptx --outdir .
その後以下のようなpdf2images.py
を作成します。
import pathlib import pdf2image pdf_path = pathlib.Path("sample.pdf") img_path = pathlib.Path("./images") img_path.mkdir(exist_ok=True, parents=True) pdf2image.convert_from_path( pdf_path , output_folder=img_path , fmt='jpeg' , output_file=pdf_path.stem)
最後にPythonファイルを実行します。
python3 pdf2images.py
以下のように各スライドが./images
配下にJPEGファイルとして格納されることを確認できました。
まとめ
いかがでしたでしょうか。小ネタですが本記事がご参考になれば幸いです。